package com.ruoyi;

import com.ruoyi.column.entity.Column;
import com.ruoyi.form.entity.ClassForm;
import com.ruoyi.hov.entity.HovSearchResultSet;
import com.ruoyi.query.entity.ReturnQuery;

import java.lang.reflect.InvocationTargetException;
import java.util.List;

/**
 * **********************
 * * Author: XiaShiLong *
 * * Date  : 2021-03-24 *
 * * Time  : 11:01      *
 * * to    : lz&xm      *
 * **********************
 **/
public interface DynamicListDefaultService {

    /**
     * 获取动态列表
     *
     * @param menuId    菜单id
     * @param classPath 当前对象路径
     * @return List
     */
    List<Column> table(Long menuId, String classPath);

    /**
     * 获取当前对象查询属性
     *
     * @param menuId    菜单id
     * @param classPath 当前对象路径
     * @return ReturnSelect <see>ReturnSelect</see>
     */
    ReturnQuery getQuery(Long menuId, String classPath);


    /**
     * 获取表单集合
     *
     * @param menuId    菜单id
     * @param classPath 当前对象路径
     * @return List
     */
    List<ClassForm> getForm(Long menuId, String classPath);

    /**
     * hov查询
     *
     * @param hovId      hovId
     * @param searchText 查询文本
     * @return <see>HovSearchResultSet</see>
     */
    HovSearchResultSet hovSearch(int page, int size, Long hovId, String searchText) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException;
}
